home *** CD-ROM | disk | FTP | other *** search
- tcsh 6.03.00 for MiNT
- ported by Michael Hohmuth <hohmuth@freia.inf.tu-dresden.de>
-
- Distribution PL 03
- 05 May 1993
-
- The description of the MiNT port follows after the original copyright notice:
-
- -------------------------------------------------------------------------------
-
- Copyright (c) 1980,1991 The Regents of the University of California.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- 3. All advertising materials mentioning features or use of this software
- must display the following acknowledgement:
- This product includes software developed by the University of
- California, Berkeley and its contributors.
- 4. Neither the name of the University nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-
- -------------------------------------------------------------------------------
-
- This is my (Michael Hohmuth's) port of tcsh 6.03.00 to MiNT (_not_ TOS).
-
- This file only describes the special features of the MiNT version. For
- documentation refer to the manual pages.
-
- Manifest:
-
- ARGV.TXT - a proposal for an ARGV standard extension that
- adds support for empty parameters
- FAQ - Frequently Asked Questions about tcsh
- Fixes - what has been fixed since the last version of tcsh
- NewThings - what's new in this version of tcsh
- README - original README from the tcsh distribution
- README.ST - this file
- complete.tcsh - examples on how to use tcsh's completition feature
- csh.1 - csh manual
- csh.man - csh manual in roff format
- diffs - context diffs for tcsh for MiNT
- tcsh - tcsh binary for MiNT (rename it to tcsh.ttp if
- you want)
- tcsh.1 - tcsh manual
- tcsh.man - tcsh manual in roff format
-
- Special features of the MiNT version:
-
- o The version of `tcsh.ttp' in this distribution has been
- configured to support DOS file systems in the following two
- aspects:
-
- (1) tcsh's builtins support DOS file names with drive
- specifications and backslashes. However, note that you
- have to escape backslashes with another backslash: "\\"
-
- (2) tcsh uses DOS compatible file names for its
- configuration files:
-
- UNIX file name DOS file name
-
- .history history.csh
- .cshdirs cshdirs.csh
- .tcshrc tcshrc.csh
- .cshrc cshrc.csh
- .login login.csh
- .logout logout.csh
- /etc/csh.cshrc /etc/cshrc.csh
- /etc/csh.login /etc/login.csh
- /etc/csh.logout /etc/logout.csh
-
- o This version of `tcsh.ttp' also has been configured to strip
- CRs (0x0d) from line endings.
-
- o The MiNT version of tcsh supports a list of suffixes which
- executable files can have. This list is initially taken
- from the environment variable "SUFFIXES"; if this variable
- does not exist, it defaults to "ttp,prg,tos,app,gtp,csh,".
-
- o `tcsh.ttp' has been linked with the MiNT Library PatchLevel
- pre-31. That means that it has the following additional
- feature:
-
- All environment variables which are listed in the environment
- variable "PCONVERT" will be converted from a DOS style path
- list to a Unix style one. If "PCONVERT" does not exist, it
- defaults to "PATH". Please note that setting PCONVERT from
- inside tcsh has no effect on the other environment variables
- (except when spawning, when the variables will be converted
- back to TOS style). So make sure that PCONVERT has been
- initialized before you enter tcsh (e.g. set in in your mint.cnf
- file).
-
- I suggest you use at least the following setup for "PCONVERT":
- "PATH,HOME,SHELL,CDPATH".
-
- o Support for empty (i.e., zero length) command line parameters
- has been included, according to a proposed extension to Atari's
- ARGV standard (see ARGV.TXT for details). That means that
- `tcsh' can accept and pass empty parameters given that the
- calling/called program also supports the ARGV standard
- extension. (Hopefully, one of the next mntlib PatchLevels will
- contain support for this.)
-
- o The "autolock" feature works exactly like "autologout", because
- the MiNT library doesn't support password encryption.
-
- o `tcsh.ttp' has been compiled with GCC 2.3.3 pl 2 and the
- "-mbaserel" option so that it is sharable under MiNT.
-
- Credits:
-
- This port is mainly based on Eric Smith's port of tcsh 6.00.02
- to MiNT. I just straightforwardly applied Eric's changes, fixed
- a few bugs, added a few features (and removed some) and added
- support for 6.03. (For a list of differences from Eric's
- port, see below.) Thanks, Eric!
-
- Enjoy!
-
- Michael Hohmuth
-
- hohmuth@freia.inf.tu-dresden.de
- mh1@irz.inf.tu-dresden.de
-
-
- --------------------------------------------------------------------------
-
- APPENDIX
-
- Differences from Eric Smith's port of tcsh 6.00.02:
-
- o My port does not support the shell variables "escchar" and
- "dosslashes". That means that it's not possible to redefine
- the shell's escape character and use single backslashes as
- path separators (use escaped backslashes instead), and the
- shell always outputs "/" as the path separator.
-
- o Eric renamed the file `.cshrc' to `csh.rc'. I named it
- `cshrc.csh' because this seemed more logical to me.
-
- o My version will not run under plain TOS, only under MiNT.
-
- Differences from my port of tcsh 6.02.00:
-
- o 6.02 did not handle scripts correctly: /bin/sh had been
- invoked for any script, no matter what the "#!" line said.
- This is fixed in this version.
-
- o 6.02 was configured to use sbrk() instead of malloc() and to
- expect continuus memery. That's why all allocations had to
- happen from the stack, which had to be quite large (128K)
- for that reason.
- 6.03 now uses malloc(), and the stack has a "normal" size (20K).
- (You can still use fixstk.ttp to change the stack size.)
-
- o We now use the PCONVERT environment variable instead of
- PATHCONV. I had to change this because of a bug in old
- versions of GEM (which interpretes the contents of "PATHCONV"
- as its file search path).
-
-
- If you want to re-compile tcsh for MiNT:
-
- You can only build tcsh on a non-TOS file system. Also, you
- need good versions of `sh', `egrep', and `sed', which are used
- during the build process. (If you're cross-compiling on a Unix
- host, this should not be a problem.)
-
- You have to get `tcsh-6.03.00.tar.Z' and apply to it the patches in
- the file `diffs' from this distribution.
-
- Edit the `Makefile' to suit your taste.
-
- You might also want to have a look at `config_f.h', where
- several features can be turned on or off. The MiNT version has
- these additional features, which are turned on by default:
-
- o If you define DOSFS, tcsh's builtins will support DOS file
- names with drive specifications (like "a:") and backslashes
- (which have to be escaped, like "\\"). Also, tcsh will use
- DOS compatible names for its configuration files
- (`login.csh' instead of `.login', for instance; see above
- for a complete list of affected file names).
-
- o If you define DOSTEXT, tcsh will try to strip CRs from line
- endings in text files. This will allow you to use scripts
- which have DOS line endings in them.
-
-